For hyperscalers, the non-deterministic behaviors of Solid State Drives (SSDs), and especially tail latency, are a major issue. Tail latency—the worst case or near-worst case performance of a storage device—may have a detrimental impact on the overall performance of a hyperscaled application, even though tail latency may affect only a small percentage of requests.
To counter problems such as tail latency, hyperscalers may and do request specific functionality in the storage devices they use. But different storage device vendors may implement the functionalities in different ways. As a result, the performance of those functionalities in the storage devices may vary across vendors, and even across storage devices offered by a particular vendor.
It might be possible for a single vendor to classify the storage devices it offers based on the performance of these functionalities. For example, a single vendor might be able to classify its storage devices based on tail latency identifying particular storage device offerings as offering top-tier, middle-tier, and lowest-tier performance. It might even be possible for vendors to agree on a standard for classifying storage devices, so that a “top-tier” storage device from one vendor might be considered comparable to a “top-tier” storage device from another storage vendor.
But there are problems with this approach. First, different storage devices may offer different functionality. If one storage device model from one vendor implements two different requested functionalities and another storage device model from another vendor implements only one requested functionality, should those two storage device models be considered comparable? Second, manufacturing variabilities might result in varying performance levels even within a particular storage device model from a single vendor, meaning that two different devices of the same model might be more appropriately classified differently, a fact that might not be determined without rigorous testing of the storage devices. Third, using a “one size fits all” classification system might not meet the needs of individual hyperscalers. With enterprises leasing computing resources more and purchasing their own servers less, vendors are more likely to need to vary their workloads for different subscribers.
A need remains for a way to determine the performance characteristics of storage devices for classification by data centers.